#include<iostream>
#include<vector>
#include<bits/stdc++.h>
using namespace std;
class Solution {
public:
    vector<vector<int>> merge(vector<vector<int>>& intervals) {
        sort(intervals.begin(),intervals.end());
        vector<vector<int>>ret;
        int begin=intervals[0][0],end=intervals[0][1];
        for(int i=1;i<intervals.size();i++)
        {
            int left=intervals[i][0];
            int right=intervals[i][1];
            if(left<=end)
            {
                //就是可以进行合并
                end=max(end,right);
            }
            else
            {
                
                ret.push_back({begin,end});
                begin=left;
                end=right;
            }
        }
        ret.push_back({begin,end});//防止最后一个区间还是可以进行合并的合并之后不会进行加入就丢失了
        return ret;
    }
};